neroni.it | Cross Reference |
Tracciato di un file fisico e chiavi dei logici soprastanti.
Dato un file fisico proveniente da compilazione di DDS (Data Description Specifications), ne stampa tracciato, elenco delle chiavi ed elenco dei file logici, ciascuno con i propri record logici con chiavi e select-omit. Nata per far fronte alla necessita' di individuare piu' facilmente le chiavi che si addossano ad un file fisico fruendo della decodifica puntuale di tutti i campi elencati lungo la lista.
In passato consideravo questa utility una ammazzasistema. Riaggiustandola oggi ed esercitandola sui superprocessori moderni, l'ho ritrovata piu' veloce e quindi piu' godibile. La scrissi nel 1988 su suggerimento di un consulente che avevo in Fiorucci, Andrea Bianchi Janetti, milanees, orgoglioso abitatore delle mura spagnole, che ringrazio per l'idea.
03-11-2008 Stampa anche le informazioni sui file join.
04-11-2008 Sopporta SST (campo logico sottostringa di campi fisici) e CONCAT (campo logico concatenamento di campi fisici).
10-11-2008 Visualizza subito la stampa corrente.
Se non risultera' all'altezza di qualche tipologia di trappola delle dds, vi prego di segnalarmelo.
04-04-2014 Se il file non era un fisico, l'utility sprecava attivita' prima di accorgersene al primo dei numerosi Display File Description incompatibile con un file non fisico. Introdotto percio' il controllo precoce che il file indagato sia un file fisico. Se il file rifiutato e' un logico, per aiuto elenca in joblog i suoi fisici di base.
JFDR fa uso di JCPYCLR (Copy Clear).
22-03-2014 --> JREDKEY: Reduces Keys HelpAnalizza le chiavi ridondanti sui file fisici.
Succede che nella foga creativa i programmatori disattenti creino viste logiche inutili in quanto o gia' esistenti identiche o dotate di chiavi che sono sottoinsiemi troncati di altre. Ne risultano database sovrabbondanti e pesanti sia in esercizio che, soprattutto, in analisi e sviluppo. Il sistema risparmia di sua iniziativa sulle chiavi uguali ma nulla fa sulle chiavi tronche. L'utility analizza quindi tutti i file di database presenti in una lista di librerie per individuare le chiavi ridondanti. Si ottiene la stampa di un menabo' dei soli file fisici candidati ad una riduzione delle chiavi supportate. Le viste contrassegnate come eliminabili, se dotate di select, hanno anche le stesse inclusioni/esclusioni delle viste rispetto alle quali sono considerate ridondanti.
La stampa *SIMPLE riporta per ogni vista segnalata anche l'elenco delle chiavi e un flag che indica la presenza di select ma per un dettaglio completo occorre documentare ogni fisico con l'utility JFDR.
26-03-2014 Generata una seconda stampa *COMPLEX contenente anche, dopo ogni chiave segnalata, l'elenco dei programmi che la usano. La stampa permette varie parzializzazioni mirate a ridurne l'ingombro quando usata per intraprendere la manutenzione dei programmi segnalati.
JREDKEY fa uso di JCPYCLR (Copy Clear).
01-09-2008 --> JPGMREF: Program reference (Version 1)Esplode le chiamate di un programma alla maniera di una distinta base, versione 1.
01-09-2008 --> JREF: Program reference (Version 2)Esplode ed implode le chiamate di un programma alla maniera di una distinta base, versione 2.
05-11-2008 --> JREFDBF: Reference Database (Version 3) HelpCrea il database da usare per esplosione ed implosione alla maniera di una distinta base.
Per semplificarne l'installazione, l'utility e' in tre parti: Creazione database, Esplosione, Implosione.
Il database viene ora creato dal comando mirato JREFDBF che costruisce la libreria da usare poi come fonte delle informazioni (DTALIB) da usare nei comandi JREFEXP (Reference Explode) e JREFIMP (Reference Implode).
L'utility serve come prerequisito per JREFEXP (Reference Explode) e per JREFIMP (Reference Implode).
07-11-2008 Nuova struttura dati usata nella stampa delle righe di esplosione.
JREFDBF fa uso di JCPYCLR (Copy Clear).
05-11-2008 --> JREFEXP: Reference Explode (Version 3) HelpEsplode le chiamate di un programma alla maniera di una distinta base.
07-11-2008 Nuova keyword TOLAST permette di stampare solo i programmi che non chiamano altro (come fa un'esplosione alle materie prime).
07-11-2008 Nuova keyword SEEN permette di non stampare le righe ripetute.
JREFEXP fa uso di JREFDBF (Reference Database).
05-11-2008 --> JREFIMP: Reference Implode (Version 3) HelpImplode le chiamate di un programma alla maniera di una distinta base.
10-11-2008 Nuova keyword TOLAST permette di stampare solo i programmi che non sono chiamati da altri (come fa un'implosione ai prodotti finiti).
L'implosione si ricava dall'esplosione con poche modifiche tecniche, come l'uso di un altro file con le chiavi padre-figlio che diventano figlio-padre.
JREFIMP fa uso di JREFDBF (Reference Database).
19-11-2008 --> JMOD: List embedded modulesLista i moduli chiamati nei programmi.
Estrae dai programmi ILE le informazioni riguardanti i moduli contenuti sia che provengano da CRTBNDxxx, da CRTPGM o da CRTSRVPGM.
Stampa e/o scarica su outfile in aggiunta o sostituzione.
Mi sono valso di un prototipo di Scott Klement trovato al link: http://www.think400.dk/apier_2.htm.
JMOD fa uso di JCPYCLR (Copy Clear).
20-11-2008 --> JMRG: Merge Object InfoRiporta le informazioni sui moduli nell'elenco oggetti.
Unisce le informazioni estratte da JMOD (List embedded modules) a quelle estratte dal corrispondente Display Object Description.
L'utility moltiplica il record oggetto di un programma ILE in tanti record quanti sono i suoi moduli.
18-11-2008 --> JCMPLIB: Compare libraries HelpCompara librerie.
Confronta gli oggetti di due librerie FROM con il contenuto di due librerie TO, supponendo che le TO siano l'evoluzione delle FROM.
Permette un tempo di partenza e due criteri di confronto: data di creazione e data del sorgente. In evidenza anche l'utente creatore.
Il confronto si basa sull'emissione del Display Object Description, notoriamente privo delle informazioni sul sorgente, se il programma e' ILE.
Il recupero delle informazioni mancanti sui sorgenti dei moduli avviene tramite l'uso di JMOD (List embedded modules) e di JMRG (Merge Object Info).
Le utility JMOD e JMRG sono state isolate per poterle usare anche altrove.
16-05-2014 Ho conservato il comando originale ma, essendo richiesto di comparare librerie from
su una macchina diversa da quella che ospita le librerie to, ho creato tre nuovi comandi.
Il primo JCMPLIBF
Help
per estrarre le informazioni dalle librerie from.
Il secondo JCMPLIBT
Help
per estrarre le informazioni dalle librerie to.
Il terzo JCMPLIBP
Help
per eseguire la stampa di controllo sulla macchina, from o to, sulla quale
si possono radunare i dati provenienti dalle due macchine.
Il file da trasportare da una macchina all'altra e' uno solo con un tracciato originato da DSPOBJD.
Controlla il puntamento dei file logici.
Controlla nella libreria esaminata:
1) La presenza di file fisici portatori di logici fuori libreria.
2) La presenza di file logici basati su fisici fuori libreria.
27-02-2014 --> JSRCLST: Source member list HelpLista i membri sorgente.
Genera l'elenco membri dei file sorgenti presenti in una libreria o in una lista librerie.
Genera un outfile con il tracciato del Display File Description di tipo Member List da interrrogare con query o simili. Permette anche la raccolta dati in accumulo sull'outfile.
Scritto per semplificare la ricerca dei sorgenti in un ambiente non ben conosciuto, specialmente durante la propagazione di modifiche a librerie personalizzate ballando col pdm sulle librerie sorgenti solo per modifica e non anche per ricerca.
28-02-2014 Aggiunto un comando di interfaccia ad un Query Management Query per interrogare il file risultante.
27-05-2014 --> JFSS: Find Stream SupportElabora la stampa di Find Stream Pdm di un file sorgente rpg ile con specifiche F posizionali per ricavare "Where used" senza usare gli oggetti
Parzializza la stampa di una ricerca pdm dei pgm source rpg ile
per sapere quali programmi pasticciano un certo file.
ATTENZIONE: La procedura corrente e' sensibile al release e alla lingua del sistema operativo.
Contiene comunque uno schema di ricerca che, non facendo uso degli oggetti,
permette di costruire una lista "where used" sui sorgenti
in situazioni di sfasatura tra sorgenti e oggetti o in assenza di oggetti.
Stampa il Find Stream Pdm di un file source rpg ile.
Lo copia in un file.
Sceglie le specifiche F (Definizione di file) che corrispondono nel nome ai primi 5 caratteri
della stringa di ricerca e che definiscono il file come Update, Output o Add.
Cancella le altre righe di stampa ad eccezione di quelle che riportano i nomi dei membri.
Cancella le righe dei membri senza righe di dettaglio.
Stampa le righe superstiti compresa la conta dei membri superstiti.